package fr.bludwarf.skywarrior.global;

import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.fail;

import org.junit.Test;

import fr.bludwarf.skywarrior.exceptions.CoordonneesInconnues;
import fr.bludwarf.skywarrior.ile.Ile;
import fr.bludwarf.skywarrior.joueur.TypeVaisseau;

public class TempsTest {
	
//	/** Temps pour faire un CONDOR avec 39 de pop */
//	final long tempsCondor39 = (14 * 3600 + 18 * 60 + 26) / 29;

	@Test
	public void testGetTimeFactorInt() {
		
	}
	
	@Test
	public void tempsPourParcourir() throws CoordonneesInconnues
	{
		// Il faut environ 23 mins pour un apicopter pour parcourir 3 unité de longueur
		final Ile ileDepart = new Ile("ileDepart", 0, 0);
		final Ile ileArrivee = new Ile("ileArrivee", 0, 3);
		final double temps = Temps.tempsPourParcourir(ileDepart, ileArrivee, TypeVaisseau.APICOPTER.getVitesse());
		assertTrue(22 * 60 < temps && temps < 24 * 60);
	}
	
	@Test
	public void tempsPourParcourirInconnu()
	{
		// Coords inconnues
		final Ile ileDepart = new Ile("ileDepart");
		final Ile ileArrivee = new Ile("ileArrivee");
		try
		{
			Temps.tempsPourParcourir(ileDepart, ileArrivee, TypeVaisseau.APICOPTER.getVitesse());
			fail();
		}
		catch (final Exception e)
		{
			assertEquals(CoordonneesInconnues.class, e.getClass());
		}
	}

}
